/*
  默认配置 所有环境都会带上  其他环境属性会覆盖 default属性
*/
const path = require('path');
var { getDefine } = require('./envs/index')
module.exports = (appInfo) => {
  const { pkg, name, baseDir, HOME, root } = appInfo
  const config = exports = {};
  var envData = getDefine(process.env.PROJECT_ENV)

  config.keys = appInfo.name + '_1521106118832_9505'       //此处改为你自己的 Cookie 安全字符串>;
  config.maxAge = 86400000, // Session 的最大有效时间

    //配置中间件
    config.middleware = [];

  // 配置ejs模板引擎
  config.view = {
    defaultViewEngine: 'ejs',
    defaultExtension: '.ejs'
  };


  config.logger = {
    dir: path.join(appInfo.baseDir, 'logs'),
  }

  // 设置两种请求格式最大长度
  // 如果用户的请求 body 超过了我们配置的解析最大长度，会抛出一个状态码为 413 的异常
  config.bodyParser = {
    jsonLimit: '1mb',
    formLimit: '1mb',
  }


  // 新增支持的文件扩展名
  config.multipart = {
    fileExtensions: ['.apk'] // 增加对 apk 扩展名的文件支持
  }

  // 设置跨域
  config.security = {
    csrf: {
      enable: false,
      ignoreJSON: true
    },
    domainWhiteList: ['*']
  };

  // 配置数据库
  config.sequelize = {
    ...envData.sequelize,
  }

  // 配置redis
  config.redis = {
    ...envData.redis,
  }

  return {
    ...config,
    envData:envData,
  };
};
